package class02

import "math"

// 给定一个数组长度为N，你可以把任意长度大于0且小于N的前缀作为左部分，剩下的部分作为右部分
// 但是每种划分下都有左部分的最大值和右部分的最大值，请返回最大的，左部分的最大值减去右部分的最大值的绝对值
func MaxABS(arr []int) int {
	if len(arr) < 1 {
		return 0
	}
	maxN := math.MaxInt
	for i := 0; i < len(arr); i++ {
		maxN = max(maxN, arr[i])
	}
	return maxN - min(arr[0], arr[len(arr)-1])
}

func min(a, b int) int {
	if a > b {
		return b
	}
	return a
}
